package com.sojson.base.impl;

import com.sojson.util.ExpUtil;
import com.sojson.util.page.PageUtil;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

/**
 * 基础分页Bean
 * 
 * @author liu
 * @date 2020-11-02
 */
@Data
@ApiModel("基础分页实体类")
public class BasePageDto extends BaseListDto {

    /**
     * 
     */
    private static final long serialVersionUID = 1L;
    /** 第几页 */
    @ApiModelProperty(value = "第几页", position = 0)
    private int pageNum = PageUtil.PAGE_NUM_DEFAULT;
    /** 每页显示记录数 */
    @ApiModelProperty(value = "每页显示记录数", position = 0)
    private int pageSize = PageUtil.PAGE_SIZE_DEFAULT;

    public BasePageDto() {}

    public BasePageDto(int pageNum, int pageSize) {
        if (pageNum > 0) {
            this.pageNum = pageNum;
        }
        if (pageSize > 0) {
            this.pageSize = pageSize;
        }
    }

    /** 前端使用的方法 */
    public void setPageNum(int pageNum) {
        if (pageNum > 0) {
            this.pageNum = pageNum;
        }
    }

    /** 前端使用的方法 */
    public void setPageSize(int pageSize) {
        if (pageSize > 0) {
            this.pageSize = pageSize;
        }
        if (pageSize > PageUtil.MAX_PAGE_SIZE) {
            ExpUtil.throwEx("每页最大显示记录数超过限制");
        }
    }

}